Automatic Tuning of Value-Series Analysis Tasks Based on Visual Feedback

ABSTRACT

A method for selecting an analysis procedure for a value series, including displaying a value series on a computer display monitor, receiving one or more sequences of user provided annotations, where the annotations overlay at least a sub-interval of the value series on the computer display monitor, using the sequences of user provided annotations to select an optimal value series analysis method from a set of value series analysis methods, where selecting an optimal value series analysis method includes determining parameter values for the optimal value series analysis method, and presenting the selected optimal value series analysis method and parameters, and the optimal reconstruction of the annotation sequences to the user.

BACKGROUND

1. Technical Field

This disclosure is directed to methods for preprocessing value seriesdata, which encompasses time series data, for selecting an appropriateanalysis method and tuning parameters.

2. Discussion of Related Art

Choosing the right analysis method and tuning its parametersappropriately is a prerequisite for making useful analyticsapplications. This is especially true for the analysis of time or valueseries. The tuning and selecting of the right analysis method on the onehand requires statistical expertise to understand the methods and theirtuning process while on the other hand requires domain expertise tointerpret the data and understand the task of interest. The statisticalanalysis is frequently difficult to understand and use for the domainexpert while statisticians waste time acquiring the necessary domainexpertise for solving the task of interest.

A typical example is the denoising of time series derived from sensordata. Such series can exhibit anything from random noise added to theactual signal to extreme values or complete sensor failure.

There are many methods known for filtering noise and removing outliersfrom data. Simple examples are smoothing algorithms based on movingaverages, spline based methods, or filtering techniques such as low passfilters, etc.

There are challenges with these methods.

-   -   Setting the parameters is a non-trivial task that usually        requires a considerable amount of background knowledge, e.g.,        about the properties of the sensors. The choice of the best        denoising method among a large number of diverse and highly        tunable methods requires statistical expertise.    -   The “right” filtering parameters may change over time, possible        even frequently. A sensor could, for example, exhibit different        properties by day and by night.    -   The search space can be huge, which creates challenges from a        point of view of computation complexity and statistical        significance.

For these reasons, pre-processing large amounts of time series foranalytics is still a very work intensive task that requires profoundstatistical knowledge about the properties of filters and thedistribution of the original data.

Instead of this, an improved method would:

-   -   1. be simple enough to be used by an expert without too much        statistical knowledge;    -   2. reduce the amount of interaction to a minimum; and    -   3. allow for a fine grained application of methods to a single        or a set of series.

The current state of the art is to do this by a trial and error approachwith the expert testing different methods and parameters to tune thesemethods to find the most suitable. This approach may, however, requiremuch manual work and is prone to errors.

One alternative, if given a supervised learning task, is to use awrapper with evolutionary computing to optimize the parameters for thistask. As the search space for this optimization can be huge, thesemethods are likely to over-fit and have a high computational complexity.In addition, these methods are only applicable for supervised tasks.There are also methods of semi-supervised learning for clustering, whichusually take pairs of entities and label them as similar or dissimilar.Based on this, optimal parameters and a distance metric can be learned.While these methods might work well for some data sets, they usuallyrequire many labeled pairs, and rely on good existing features, whichare usually not available for value series. Furthermore, those methodsare usually tuned for clustering and are not appropriate for analyzingvalue series. Most importantly, the interaction with the user is limitedto labels given by the user, which restricts the interaction between theuser and the analysis system.

BRIEF SUMMARY

According to an aspect of the invention, there is provided acomputed-implemented method for selecting an analysis procedure for avalue series, including displaying a value series on a computer displaymonitor, receiving one or more sequences of user provided annotations,where the annotations overlay at least a sub-interval of the valueseries on the computer display monitor, using the sequences of userprovided annotations to select an optimal value series analysis methodfrom a set of value series analysis methods, where selecting an optimalvalue series analysis method includes determining parameter values forthe optimal value series analysis method, and presenting the selectedoptimal value series analysis method and parameters, and the optimalreconstruction of the annotation sequences to the user.

According to a further aspect of the invention, the method includes,after presenting the selected optimal value series analysis method tothe user, receiving additional sequences of user provided annotationsfrom the user, and selecting another optimal value series analysismethod from a set of value series analysis methods that optimallyreconstructs the sequences of user provided annotations.

According to a further aspect of the invention, the method includesdisplaying a plurality of value series on the computer display monitor,where at least one sequence of user provided annotations connects pointsin different value series.

According to a further aspect of the invention, the value series is atime series, and further comprising segmenting the time series intosegments based on a sequence of user provided annotations.

According to a further aspect of the invention, selecting an optimalvalue series analysis method that optimally reconstructs the sequencesof user provided annotations comprises, for segments that are annotatedby the user, determining an optimal filter that minimizes an errorbetween time series points in the segment and the user annotations.

According to a further aspect of the invention, selecting an optimalvalue series analysis method that optimally reconstructs the sequencesof user provided annotations comprises, for segments that are notannotated by the user, identifying a similar annotated segment, anddetermining an optimal filter that minimizes an error between timeseries points in the unannotated segment and the annotated segment.

According to a further aspect of the invention, a similar annotatedsegment is identified based on a variance and frequency distribution ofthe unannotated segment and the annotated segment.

According to a further aspect of the invention, a similar annotatedsegment is identified based on an error distribution between theunannotated segment before and after being filtered by the optimalfilter.

According to a further aspect of the invention, the method includesclustering all segments for which no similar annotated segment isidentified into one or more clusters based on general characteristics ofeach segment, and presenting a representative of each cluster to theuser for annotation.

According to a further aspect of the invention, the method includesextracting features that maximally correlate different sequences of userprovided annotations.

According to a further aspect of the invention, the features include oneor more of a lag value and a window width.

According to a further aspect of the invention, the optimal value seriesanalysis method optimally reconstructs the user provided annotationsequences.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 depicts a plot of a value series with two groups of groupedvalues, according to an embodiment of the invention.

FIG. 2 is a flowchart of a method for selecting a value series analysismethod based on user provided annotations of one or more value series,according to an embodiment of the invention.

FIG. 3 is a plot depicting the derivation of features from selectedvalue series points, according to an embodiment of the invention.

FIG. 4 is a block diagram of an exemplary computer system forimplementing a method for selecting a value series analysis method basedon user provided annotations of one or more value series, according toan embodiment of the invention.

DETAILED DESCRIPTION

Exemplary embodiments of the invention as described herein generallyinclude systems and methods for selecting a value series analysis methodbased on user provided annotations of one or more value series.Accordingly, while the invention is susceptible to various modificationsand alternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that there is no intent to limit theinvention to the particular forms disclosed, but on the contrary, theinvention is to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the invention.

Embodiments of the present disclosure provide value series analysissystems that implement methods that allow a user to graphically annotatea time or value series and exploit these annotations to automaticallytune a value series analysis task of interest. The annotations representwhat the user, given his/her domain knowledge, regards as “information”as opposed to noise, outliers, random correlations or irrelevantpatterns.

The user provides feedback, in the form of value series, back to theanalysis system. This type of feedback allows for new interactionschemes in both the way to ask the user about his/her expertise andretrieve the feedback and the way of using and exploiting the user'sfeedback to solve the task of interest.

Embodiments of the present disclosure allow users to graphically marksub-segments of one or more value series that the user regards asrelevant to a task of interest, in both the time and the valuedimension. The task of interest can be anything from pure pre-processingand de-noising of a value series to forecasting, regression, patternextraction, classification, feature extraction or definition of complexrelationships, as long as the task concerns a value series or a set ofvalue series. The user's feedback is then in the form of selected orsketched pieces of value series. These pieces of the value seriesusually deviate from the original value series. The feedback does notnecessarily concern unique series values but can concern an arbitrarynumber of them. The user can for example define that two or moresub-segments across the same or different value series are related, thusthat their mutual occurrence in time represents some valuableinformation.

Methods according to embodiments of the disclosure differ from markingintervals in time based on the original data, and from supervisedlearning. Annotations according to embodiments of the disclosure are notlabels but rather highlight parts of the signal or relationships betweenparts of signals in a way that can differ from the original signal. Partof the signal refers to a segment on the time dimension but also to adecomposition on the value dimension.

Using an approach according to embodiments of the disclosure, a user hasthe best of both worlds: (1) making annotations is simple and intuitive;and (2) with a limited number of annotations, a whole series or a set ofseries can be automatically analyzed without having to manually definethe procedure. The procedure selected by the analysis system isautomatically tuned to reproduce the user's annotation on the rest ofthe value series it is given to process.

An approach according to embodiments of the disclosure allows a user tohighlight information content in temporal data without labeling it. FIG.1 depicts a plot of points 10 of a value series with two groups ofgrouped values, according to an embodiment of the invention. Forclarity, only two points are indicated. Referring now to FIG. 1, a userwould not need to express what the curves 11 and 12 exactly mean, a taskthat domain experts often find difficult. Still, this kind of feedbackallows the analysis system to automatically derive a more sophisticatedpreprocessing procedure than would be possible to manually identify onthe data alone.

FIG. 2 is a flowchart of a method for selecting a value series analysismethod based on user provided annotations of one or more value series,according to an embodiment of the invention. Referring now to thefigure, given one or more value series and sets of analysis methods forthe value series, a method begins at step 11 by displaying on a computerdisplay monitor a 2-dimensional (2D) plot of points of one or more valueseries. As shown in FIG. 1, the points can be represented by circles 10,however, this representation is exemplary and non-limiting, and otherrepresentations of the value series points, such as dots or polygons,are possible. At step 12, the user can mark arbitrarily many such partsof one or more series and then indicate that all marked parts of theseries together constitute information content in the series related toits task of interest. Based on this, at step 13, the analysis systemchooses from a set of tools for solving the task of interest an optimalprocessing tool for the series and, at step 14, presents it to the userfor review. At step 15, the user can then decide to add additionalannotations and start the process once again. The user feedback includesmarking under the form of value series to tell the analysis system howthe analysis should be performed. The analysis system then chooses,based on a set of tools for solving this task of interest, a besttechnique to use and how to tune this technique's parameters.

The computational aspect of a method according to an embodiment of thedisclosure involves finding an optimal value series analysis method andtuning its parameters based on the user's feedback. The general idea isto find such value series analysis methods that optimally reconstructwhat the user submitted as information annotations. How this is done,depends upon the value series analysis task of interest.

Two tasks of interest according to embodiments of the disclosure inwhich this extraction of information from signals could be used includeInteractive De-noising and Assisted Feature Extraction. It is to beunderstood that an annotation and tuning method according to embodimentsof the disclosure are general and can be applied to virtually anyvalue-series analysis task. The two following examples are thereforeexemplary and non-limiting embodiments of the disclosure.

Interactive De-Noising:

In an interactive de-noising according to an embodiment of thedisclosure, a domain expert user first graphically tags the signal in apart of the time series. Based on this annotation, the complete timeseries is segmented over time.

The initial segmentation itself can be determined based on seasonality,user input or a general purpose time series segmentation algorithm. Foreach of the segments that are completely annotated, optimal filteringcriteria are determined, i.e., filters that would lead to a minimalerror between the measured signal and the user annotation.

For each of the non-annotated segments a similar annotated segment isidentified by similarity search. The similarity could be based on twopossible sets of features: (1) general characteristics of the segment,such as variance or frequency distribution; and (2) the errordistribution between the raw and the filtered signal. Based on thissimilarity, the most similar segment is chosen and the filtering methodused on this segment is applied to the non-annotated segment.

An approach according to embodiments of the disclosure allows graphicalfiltering of time series, so that expert users without furtherstatistical knowledge can easily perform it. The burden of selecting theright filtering technique and optimizing its parameters is fully takenover by the analysis system on the basis of the user's annotations. Anoptimal filtering criteria could be local, thus the same filter wouldnot apply to the whole series but different criteria could be applied todifferent parts of the series. On the other hand, reoccurring or similarsegments need only be annotated once. This optimization is sound, as ituses the error distribution as a criterion to decide whether twosegments are sufficiently close to each other.

Assisted Feature Extraction:

One of the most challenging tasks in time series analysis is to identifygood features that predict future values of a series. Such featurescould be past windows or trends of the current series or other series,seasonal features, etc. Identifying features is challenging, especiallyif only limited data is given. Information by the user that would givehints to the analysis system, as of which series can be related, istherefore useful for successful feature extraction.

On the other hand, it is challenging for users to just state exactlywhich features are relevant. Embodiments of the disclosure provide amethod for a user to annotate pairs of signal segments, in the senseabove, in one or more series that would be related.

Based on these relations, features can be extracted that would maximallycorrelate both. FIG. 3 is a plot depicting the derivation of featuresfrom selected value series points, according to an embodiment of theinvention. For example, referring now to FIG. 3, features could be usedto learn a lag value 34 from the distance between the two annotations31, 32 and a window width 33 from the difference of the annotated firstsignal 31 and the original first signal. Note that for featureextraction, one would usually not have to apply the filter to the secondmember of the pair, as this represents the forecasted value.

Interactive Forecasting and Regression:

Most time-series forecasting algorithms cope very well with time-seriesthat are stationary, meaning their behavior is stable over time.However, detecting and handling potentially reoccurring unusualbehaviors that break this stationarity assumption is challenging andusually has negative consequences on the quality of a forecastingalgorithm. Values series annotations can be used to annotate suchunusual behaviors and their consequences on other part of the valueseries. The method enabling this would be similar to the one presentedfor assisted feature extraction.

Another application for forecasting and regression is in the spirit ofthe example on interactive denoising: most of the time, choosing theright forecasting algorithm and tuning its parameter is challenging.Methods according to embodiments presented in the denoising example canbe used to appropriately select and tune a forecasting algorithm to agiven value series.

Interactive Classification:

Value series annotations can be used in the context of classification byasking the user to select some segments of a time series and classifythem manually. Then, similar to the denoising example, the full timeseries can be segmented using, for example, one of the followingtechniques: seasonality, user input or a general purpose time seriessegmentation algorithm. For each non-annotated segment, similarly to thefeature extraction example, a similarity measure can be used to detectthe most similar annotated segment and this non-annotated segment isattributed the class of its most similar segment.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 4 is a block diagram of an exemplary computer system forimplementing a system for selecting a value series analysis method basedon user provided annotations of one or more value series. Referring nowto FIG. 4, a computer system 41 for implementing the present inventioncan comprise, inter alia, a central processing unit (CPU) 42, a memory43 and an input/output (I/O) interface 44. The computer system 41 isgenerally coupled through the I/O interface 44 to a display 45 andvarious input devices 46 such as a mouse and a keyboard. The supportcircuits can include circuits such as cache, power supplies, clockcircuits, and a communication bus. The memory 43 can include randomaccess memory (RAM), read only memory (ROM), disk drive, tape drive,etc., or a combinations thereof. The present invention can beimplemented as a routine 47 that is stored in memory 43 and executed bythe CPU 42 to process the signal from the signal source 48. As such, thecomputer system 41 is a general purpose computer system that becomes aspecific purpose computer system when executing the routine 47 of thepresent invention.

The computer system 41 also includes an operating system and microinstruction code. The various processes and functions described hereincan either be part of the micro instruction code or part of theapplication program (or combination thereof) which is executed via theoperating system. In addition, various other peripheral devices can beconnected to the computer platform such as an additional data storagedevice and a printing device.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While the present invention has been described in detail with referenceto exemplary embodiments, those skilled in the art will appreciate thatvarious modifications and substitutions can be made thereto withoutdeparting from the spirit and scope of the invention as set forth in theappended claims.

What is claimed is:
 1. A computed-implemented method for selecting ananalysis procedure for a value series, comprising the steps of:displaying a value series on a computer display monitor; receiving oneor more sequences of user provided annotations, wherein said annotationsoverlay at least a sub-interval of said value series on said computerdisplay monitor; using said sequences of user provided annotations toselect an optimal value series analysis method from a set of valueseries analysis methods, wherein selecting an optimal value seriesanalysis method includes determining parameter values for said optimalvalue series analysis method; and presenting said selected optimal valueseries analysis method and parameters, and said optimal reconstructionof said annotation sequences to the user.
 2. The method of claim 1,further comprising, after presenting said selected optimal value seriesanalysis method to the user, receiving additional sequences of userprovided annotations from the user, and selecting another optimal valueseries analysis method from a set of value series analysis methods thatoptimally reconstructs said sequences of user provided annotations. 3.The method of claim 1, further comprising displaying a plurality ofvalue series on said computer display monitor, wherein at least onesequence of user provided annotations connects points in different valueseries.
 4. The method of claim 1, wherein said value series is a timeseries, and further comprising segmenting said time series into segmentsbased on a sequence of user provided annotations.
 5. The method of claim4, wherein selecting an optimal value series analysis method thatoptimally reconstructs said sequences of user provided annotationscomprises, for segments that are annotated by the user, determining anoptimal filter that minimizes an error between time series points in thesegment and the user annotations.
 6. The method of claim 4, whereinselecting an optimal value series analysis method that optimallyreconstructs said sequences of user provided annotations comprises, forsegments that are not annotated by the user, identifying a similarannotated segment, and determining an optimal filter that minimizes anerror between time series points in the unannotated segment and theannotated segment.
 7. The method of claim 6, wherein a similar annotatedsegment is identified based on a variance and frequency distribution ofthe unannotated segment and the annotated segment.
 8. The method ofclaim 6, wherein a similar annotated segment is identified based on anerror distribution between the unannotated segment before and afterbeing filtered by said optimal filter.
 9. The method of claim 6, furthercomprising clustering all segments for which no similar annotatedsegment is identified into one or more clusters based on generalcharacteristics of each segment, and presenting a representative of eachcluster to the user for annotation.
 10. The method of claim 1, furthercomprising extracting features that maximally correlate differentsequences of user provided annotations.
 11. The method of claim 10,wherein said features include one or more of a lag value and a windowwidth.
 12. The method of claim 1, wherein said optimal value seriesanalysis method optimally reconstructs the user provided annotationsequences.